In a computer system, such as a network or an operating system, there are multiple services available that service different requests in the system. In particular, a “service hosting process” is a process in the system that runs at least one provider service that may be depended upon by other services. For clarity, provider services refer to services that are hosted by the service hosting process, and dependency services refer to services that depend on the provider services. In other words, the dependency services cannot work unless their corresponding provider services have been initiated or started in the computer system. Since these dependency services depend upon these provider services, the current Windows® operating system is designed to start all the service hosting processes along with their provider service(s) at startup. However, there is no verification of whether these provider services have actually started or are actually available at production time. In practice, the provider services are expected to run all the time, even if they may sometimes fail to start or have been taken off-line due to, for example, either product bugs or an unstable interrelationship with third party software. For example, if a service hosting process that a dependency service depends upon is not available, either due to some fault or wrong settings, the dependency service generally would also malfunction, and the malfunction is often handled without proper error handling. Typically, the only way the problem is handled is to restart the operating system, which restarts all the processes and services. However, this made the system less available and reliable.